package com.jyw.business.obstacles.domain.vo.web;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyw.common.annotation.Conversion;
import com.jyw.common.constant.SysDictTypeConstant;
import com.jyw.common.enums.ConversionType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.FieldNameConstants;

import java.util.Date;

/**
 * @author w_q
 * @date 2023/8/1816:38
 * @Description:
 */
@Data
@ApiModel("全部工单返回VO")
@FieldNameConstants
public class OrderAllPageVO {

    @ApiModelProperty(value = "工单id")
    private String id;

    @ApiModelProperty(value = "故障描述")
    private String faultRemark;

    @ApiModelProperty(value = "工单号")
    private String orderNum;

    @ApiModelProperty("状态")
    @Conversion(value = ConversionType.DICT,dictType = SysDictTypeConstant.OBS_FAULT_STATE)
    private String currState;

    @ApiModelProperty("工单状态标签")
    private String currStateToName;

    @ApiModelProperty(value = "报修科室ID")
    @Conversion(value = ConversionType.DEPT,name = OrderAllPageVO.Fields.deptName)
    private Long deptId;

    @ApiModelProperty("报修科室名称")
    private String deptName;

    @ApiModelProperty(value = "影响范围")
    @Conversion(value = ConversionType.DICT,dictType = SysDictTypeConstant.OBS_FAULT_RANGE)
    private Integer rangeType;

    @ApiModelProperty("影响范围标签")
    private String rangeTypeToName;

    @ApiModelProperty(value = "工单来源")
    @Conversion(value = ConversionType.DICT,dictType = SysDictTypeConstant.OBS_FAULT_SOURCE)
    private Integer source;

    @ApiModelProperty("报障来源标签")
    private String sourceToName;

    @ApiModelProperty(value = "故障类型")
    @Conversion(value = ConversionType.DICT,dictType = SysDictTypeConstant.OBS_FAULT_TYPE)
    private String faultType;

    @ApiModelProperty("故障分类标签")
    private String faultTypeToName;

    @ApiModelProperty(value = "建单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "报修时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date repairTime;

    @ApiModelProperty(value = "报修电话")
    private String phone;

    @ApiModelProperty(value = "报修人")
    private String user;

    @ApiModelProperty(value = "坐席人")
    private String receptionUser;

    @ApiModelProperty(value = "建单人")
    private String createUser;

    @ApiModelProperty(value = "完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date completeDate;

    @ApiModelProperty(value = "处理人")
    private String makeUser;


}
